In this case, 差（一）点 would be a better translation than 几乎 for "almost".
Chinese speaker here. 差點 adds more emotion as if you feel bad that you just missed something. 幾乎 is more neutral and just states the fact that you missed something, but you aren't necessarily making a big deal out of it.
Why is 了 in this sentence?
I thought it was to mark the past tense of forget, or "forgot" 忘记 vs 忘记了
I think "了" can be also placed before ”她”
I omitted 了
I don't think that it's common for natives to use ''几乎'' in a sentence. Plus I am one, and i've never heard of any of my family say that.