In the Forum Dashboard there is a thread on why online check-in may not work and just once in a while it won't and it's as simple as that - sometimes it will do so after a few hours. Do try this link just in case:
checkin.ba.com
without logging into your account, just in case.