I've repaired zips that have gone like that. I did it by carefully unpicking one end of the zip, pulling the zip head off, lining the teeth up then rethreading the zip head. Bartack the opened end of the zip and stitching the unpicked end back in place.
It's a fiddly way to do it admittedly but the end result is virtually invisible if you can find a good thread colour match.