But don't you think that the second one is more grammatically correct because the event apparently happens in the past?
The question is about (present) knowing. If you want to refer to the first meeting/seeing you could say 'Haven't I met you somewhere before?' In some dialects it would also be acceptable to ask 'Didn't I meet you somewhere before?' (but not in Br E).