"I realized that I did not bring my passport."
I think 了 doesn't always represent something happening in the past, rather that something changed. It means a change from state to another. 沒有 might also indicate it's in the past, as 沒 is negation in the past.
It is sentence final 了 that indicates a change of situation. Verb 了 is an aspect marker that indicates that an action has been completed. Verb 了 occurs with action verbs, where the action is taken on a discrete set items, such as "I ate two apples" 我吃了两个苹果. (Note: in some situations the action will be completed in the future, so verb 了 is not strictly a past tense marker.) I'd be curious to hear from native speakers if they ever use verb 了 with 发现.
The structure “沒有帶” doesn't seem right, it seems like it says “did't have bring”. “沒帶” sounds better to me.