It is possible for engines to miss tactics. It's unusual but the fact that engines "prune" their tree to select which moves to analyse means that can very occasionally miss tactics. Obviously the strongest engines are very very unlikely to do this. In your case I think what has happened is that once an engine decides a move in winning (+8 for example) it is less likely to look at alternatives, if you let it analyse for longer it may well have found the move.
One thing people don't always realise about engines is that they absolutely do not always play the best move, they just never (almost never) make a mistake which is why they are so hard to beat.
So I played a correspondence game, and when I finished I used Deep Fritz 13 to analyze it. Here:
I don't really understand why Fritz thinks my move was better, yet suggests b4. At millions of moves per second you'd think it would have found it.