"Could" can be both the conditional present tense or preterite tense in English (at least AmE). It's ambiguous.
“I could have a banana” has two perfectly correct meanings: it is possible for me to have a banana right now depending on some factor (conditional), or I had the possibility to have a banana in the past (preterite).
A preterite in the second clause eliminates the possibility of a present conditional in the first one.
E.g. "I could have eaten" or "I could have had"
Edit: Oh wait, now I see it. Something like "I knew I could have a banana if I got hungry."