Sachverhalt: A. A._ (geb. 1954) ist mazedonischer Staatsangehöriger. Er lebt seit 1990 in der Schweiz und verfügt über eine Aufenthaltsbewilligung. Er ist mit B._ (geb. 1973) verheiratet und hat mit ihr den Sohn C._ (geb. 2009). B._ und C._ sind albanische Staatsangehörige. B. Im November 2014 beantragte A._ den Familiennachzug für seinen Sohn. Am 19. Januar 2015 ersuchte er um Bewilligung des Nachzugs für seine Ehefrau. Das Migrationsamt des Kantons Zürich wies die Gesuche am 6. Oktober 2015 ab. Den dagegen erhobenen Rekurs hiess die Sicherheitsdirektion des Kantons Zürich am 15. November 2016 teilweise gut, indem sie das Migrationsamt anwies, C._ eine Aufenthaltsbewilligung zu erteilen. In Bezug auf die Verweigerung des Familiennachzugs für B._ wurde der Rekurs abgewiesen. Mit Urteil vom 25. Januar 2017 wies das Verwaltungsgericht die dagegen erhobene Beschwerde von A._, C._ und B._ ab, ebenso das Gesuch um unentgeltliche Rechtspflege. C. A._ erhebt am 1. März 2017 Beschwerde in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht mit den Anträgen, das angefochtene Urteil aufzuheben und B._ den Nachzug zum Verbleib bei ihm - dem Ehemann - und dem gemeinsamen Sohn C._ zu bewilligen; zudem sei die Vorinstanz anzuweisen, ihnen (alle drei waren Partei vor der Vorinstanz) im kantonalen Beschwerdeverfahren die unentgeltliche Rechtspflege zu bewilligen und Rechtsanwalt Marc Spescha als unentgeltlichen Rechtsbeistand zu bestellen. Im Verfahren vor dem Bundesgericht beantragt A._ wiederum die Gewährung der unentgeltlichen Prozessführung mit seinem Rechtsvertreter, Rechtsanwalt Marc Spescha. Das Vewaltungsgericht hat sich am 9. März 2017 vernehmen lassen und beantragt, die Beschwerde abzuweisen, soweit darauf einzutreten sei. Die Sicherheitsdirektion und das Staatssekretariat für Migration haben auf Vernehmlassung verzichtet.