Zaheer slightly better overall, because he has proven he can take wickets on the roads in the sub-continent and he has bowled well overseas in key places like ENG, AUS, SA, NZ where quick bowlers get help.
When the ball is swinging in ENG, AUS, SA, NZ Anderson is slightly more lethal though. Since he has some big 7 wicket hauls in such conditions, Khan doesn't have such big hauls when the ball is swinging.
Anderson though however has yet to do the former like Khan in the sub-continent given he has yet to bowl their since he peaked as a test bowler last winter in the Ashes. This "new Anderson" has yet to prove his wicket taking acumen in those conditions. But he certainly did prove during the 2010/11 Ashes, that he has the skills i.e "reverse-swing" to be threat when he eventually bowls in SRI, PAK (neutral) and IND within the next 2 years.
So presuming Anderson conquers the sub-continent, that will bring him even with Khan, not better than him.