Sachverhalt: A. Der 1968 geborenen A._ meldete sich im Dezember 2008 unter Hinweis auf einen am 2. Juni 2008 erlittenen Unfall bei der Invalidenversicherung zum Leistungsbezug an. Mit Verfügung vom 13. Januar 2011 sprach ihm die IV-Stelle des Kantons Zürich eine ganze Invalidenrente ab 1. Juni 2009 zu (Invaliditätsgrad von 100 %). Im Januar 2012 leitete sie ein Revisionsverfahren ein. Dabei wurde ihr u.a. der Bericht des Kreisarztes der SUVA, Dr. med. B._, vom 30. November 2010 zugestellt. Nach weiteren Abklärungen und Durchführung des Vorbescheidverfahrens ermittelte die IV-Stelle unter Hinweis auf einen verbesserten Gesundheitszustand einen Invaliditätsgrad von 34 % und hob die Invalidenrente mit Verfügung vom 19. März 2013 auf das Ende des der Zustellung folgenden Monats auf. B. Die dagegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 15. Oktober 2014 ab mit der substituierten Begründung, die ursprüngliche Rentenzusprache sei zweifellos unrichtig gewesen. C. A._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, unter Aufhebung des Entscheids vom 15. Oktober 2014 sei ihm auch weiterhin mindestens eine halbe Invalidenrente auszurichten. Die IV-Stelle schliesst auf Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Stellungnahme.