Both are correct depending on the context and intended meaning. Such sentences involve multiple distinct points in time. The tense you use is determined by how these times are arranged relative to each other.
« Il a dit » is in the passé composé. Relatively speaking, he spoke before you wrote this sentence.
However, the dinner can be relative to the sentence, or it can be relative to « il a dit ».
If the dinner is relative to the sentence, use the present tense.
Il a dit qu'elle déjeune.
This means she is still eating at the time you report his speech.
If the dinner is relative to his speech and concurrent with his speech, use the imparfait.
Il a dit qu'elle déjeunait.
This means she was eating at the time he spoke.
If the dinner is relative to his speech and prior to his speech, use the plus-que-parfait.
Il a dit qu'elle avait déjeuné.
This means she finished eating before the time he spoke.
These are just a few possibilities. There are more possible configurations. For example, he might have said she would eat after he spoke but before you heard about it (elle allait déjeuner), or he might have said she would eat after he spoke and after you heard about it (elle va déjeuner). The tense can also be affected by whether or not you know when she ate / is eating / will eat.