Weirdly enough, I have to agree with you.
I'm not an English Grammar expert, but since the sentence is written in the past tense, and "had" is in the past tense, they should go together.
If this is true, doesn't "should have" also be an answer, given it is also in the past tense? Sure.
But we don't have enough context (maybe you do) to determine between (b) or (c).
Assuming there is no context and no text to go along with this, the answer should be clearly (b). There is no reason the audience should make the assumption that the narrator has come to a realization without any previous information.
The point is, without any context, the answer should be (b). We're not given enough information to be 100% sure, but that should be the right answer.
I would talk to your teacher about this and specifically ask if there is something you are supposed to know in order to select the right option. Without a passage or paragraph, it makes absolute no sense for (c) to be the correct answer.
I think we can also rule out (a) since it is in the present tense.
Again, I completely agree with you.