Erin's written a post about it here - What is Deja Vu?
My current theory on deja vu is this. Time doesn’t really exist. So if we can remember the past, why can’t we just as easily remember the future? Put another way… If I can access experiences on one end of the time stream, why can’t I access them on the other? When deja vu happens, I feel like the future and present are intersecting. Your future awareness is stacked on top of your present awareness, creating a strong feeling of knowing what’s going to happen right before it happens.