This tends to be driven by what other users of the email service are doing. If, instead of unsubscribing from something, they just mark messages as spam, eventually the sender's email address will get a bad reputation and all emails will be considered spam.
I haven't checked back to see whether BA use the same 'from' address for all types of communication, but the type (e-ticket receipt, pre-flight, marketing spam, etc) probably isn't relevant to the spam checker.
The best you can do is to mark it as 'not junk' and hope this resets the weighting.
I receive some regular newsletters to one of my Yahoo accounts and it varies day to day whether they end up in my spam folder or not.