I can think of only three likely scenarios that would cause this:
1) An accident to the front passenger side carried force through the body and bent/shifted the door/door-frame. This happened to me. I had a small whistling air leak from the top where the weatherstripping failed to seal firmly. I also got water leaks in the car wash, and sometimes a drip in heavy rain.
2) As mentioned, someone may have tried to break in, and pulled the upper door away from the car.
3) The alignment bolts are off, for one reason or another.
My recommendation (aside from having a shop professionally align it - obviously the more accurate solution) is to first check those bolt alignments and see if you can tweak it yourself. Be humble while doing this and don't loosen too many things or you'll misalign it worse than it is now. Be patient and go slow.
My second is what I did. Crude, but got the job done. Grab a giant 2x4, two rags, and roll down the window. Hop on top of the roof (gently, spread your weight out), and slip the wood through the window from outside to in. Place the rags where the wood makes any contact. Get some good leverage, and bend that baby back a sixteenth of an inch incrementally. Stop, remove wood, check, repeat.
I have an unnoticeable depression where I placed the wood and rag. The door closes just fine now, and the weatherstripping seals. I'm not unhappy with what I chose.
This is only worthy for small deviations, and adjust it little by little. Take your time, and be patient.
-Dubya