Usually I have to dedicate a workout to obtain a max HR -- if I feel muscular/leg fatigue, there's really very little chance of hitting my true max as my legs usually give up before my heart maxes out. It's an extremely difficult number to hit -- and even harder when not in a race in a do-or-die situation. Basically, there's a good chance yours is higher.
Given that, HRmax is a little outdated for setting training zones. Finding your LTHR and calculating zones from it is a better way to train. There is a good LTHR calculator on this board somewhere -- i think it involves a 2x20min test. Try it next time and report back your last 20min HRavg. Don't take too long of a rest. It's better than multiplying any number by a percent of your theoretical ability -- which is sort of a waste, as everyone's anaerobic threshold is different. If you're going to do a LTHR test, do it properly and just take the raw numbers.