The airbag light tends to go off in my '04 as well. It only happens when the passenger seat is moved. Shaking the yellow-sheathed airbag wires under the seat corrects the issue. I'm not sure if the cable snagged at some point or if a wire broke from too much repetitive movement--they look physically fine as well.
It might be a good place to check. Anything more serious and I'd suggest a professional.