"Will you lend me seven dollars for my lunch today? " asked Shannon.

Is there a question mark after today or a comma

No comma needed. The question mark takes care of the punctuation needed there.

HOWEVER, there should be no space between the question mark and the closing quotation marks.

It seems there is a question mark after the word "today" in the sentence, not a comma. The presence of a question mark indicates that Shannon is asking a question, specifically whether the other person will lend them seven dollars for lunch.