I had the same problem with my 92'SSEI. Go to RadioShack and buy a pack of small round magnets. You only need two of them. Clean the leading edge on the body side of the gas cap door with some degreaser or some rubbing alcohol. Position two magnets so the gas door latches properly. When you get the position right, use some gel-based superglue to secure them to the body side of the door opening. The regular liquid superglue is too runny.
I tried velcro, but the self-sticking adhesive will fail due to temperature extremes.
As I pointed out in another post, the only real drawback is when you fill up your tank. The gas door will flop around since the spring is broke. Then again, the fix is less than $10.
92'SSEI, 137000 miles.