It probably needs stoning.
First off, these bow saw blades are thin. As a result, the kerf is probably thin as well, unless it is a turning blade. A single tooth sticking out too far can cause amazing drift.
If you are cutting a quarter of an inch per stroke, and you are cutting through a 1" x 8" board, it takes 32 strokes to cut. If you have one tooth sticking out a 32nd of an inch then the saw is likely to drift a 64th of an inch in the direction of the stray tooth, with every stroke. This means you will get a half inch drift by the time you get to the end of the board.
The actual drift will be even worse due to the change in angle of the blade. The way to fix this is to Stone the blade.
Here is a fairly easy way to precision stone your blade.
Make a flat sanding block by gluing down a full sheet of fine sandpaper to a block of mdf. halfway cover the sanding block with a thin stack of paper. lay down the flat of the saw on the paper where the teeth hang off the edge of the paper. Reduce the sheets of paper in the stack until the teeth just barely touch. Now slide the blade on the stack of paper so the teeth are sanded even on the side. Flip the blade over and do the other side.
Doing this will fine tune your blade and if done with fine enough sand paper, it can polish the kerf so that you can cut much smoother cuts.
Any time you snag your saw on a knot or hit a nail, you may need to do this to tune up your saw.
Bob