Babydust, there is a blood disorder that causes some people to test O when they are actually A or B. Lacking some kind of thing that makes the A or B antigen show up in testing.
So in those cases, where a parent is actually an A or B but the testing doesn't detect those antigens, and instead it appears the parent is an O, they can have a child who is a B.