I recently noticed that all the British Overseas Territories have the Union Jack in the upper-left corner of their flag, except for Gibraltar.
Is their any specific historical reason for this?
According to the official homepage, the flag and arms of Gibraltar are the same as they were when they were originally granted to Gibraltar in 1502 by Ferdinand of Aragon and Isabella of Castille.
All the other overseas territories were founded by the British on pretty much empty islands so the British had to create insignias for their possessions, while Gibraltar already had their own in place and use that just had to be regularised in 1982. But it's merely a guess on my part.
hi! FYI, if you don't get any responses here, you might try x-posting to the flag specialists in /r/vexillology
Like all British overseas territories, Gibraltar does in fact have a government ensign with the Union Jack on it. The first version was adopted in 1875 and the current version was adopted in 1999. The badges on these flags are based on the coat of arms granted by Ferdinand and Isabella in 1502. But Gibraltarians have also flown an unofficial banner of those arms locally. The banner was granted official status in 1966, at which point it had already been in use for a long time. It replaced the blue ensign as the flag of territory in 1982.