Yes you can pass a document.
Here's how I check for the document being passed in to my subflow, and use a default document if none was passed. Note that default_calendar would contain a reference to a default file.
Set calendar = (calendar == null || calendar == DOC[]) ? default_calendar : calendar