Sachverhalt: A. B._, geboren 1951, sri-lankischer Staatsangehöriger, reiste am 6. Februar 1989 in die Schweiz ein und stellte ein Asylgesuch. Das Bundesamt für Flüchtlinge wies das Gesuch am 24. September 1996 ab und ordnete die vorläufige Aufnahme an. Am 22. Februar 1999 erhielt B._ eine Aufenthaltsbewilligung und am 23. Februar 2009 die Niederlassungsbewilligung. B._ ist seit 6. Februar 1980 mit der sri-lankischen Staatsangehörigen A._, geboren 1961, verheiratet, mit der er vier Kinder hat. B. Am 5. März 2013/12. Juni 2013 ersuchten B._ bzw. A._ um Bewilligung für den Familiennachzug bzw. Erteilung eines Visums für den langfristigen Aufenthalt in der Schweiz. Das Gesuch wurde mit Verfügung des Migrationsamts des Kantons Zürich vom 3. Dezember 2013 abgewiesen. C. Einen dagegen erhobenen Rekurs wies die Sicherheitsdirektion mit Entscheid vom 10. März 2014 ab. D. Dagegen erhoben B._ und A._ Beschwerde an das Verwaltungsgericht des Kantons Zürich. Dieses wies die Beschwerde mit Urteil vom 20. August 2014 ab; zugleich wies es das Gesuch um unentgeltliche Rechtspflege ab. E. B._ und A._ erheben mit Eingabe vom 6. Oktober 2014 Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Antrag, in Aufhebung des angefochtenen Entscheids sei das Gesuch um Familiennachzug zu bewilligen, eventualiter sei die Sache an die Vorinstanz zu neuem Entscheid zurückzuweisen. Zudem beantragen sie unentgeltliche Rechtspflege. Das Verwaltungsgericht verzichtet auf Vernehmlassung. Das Bundesamt für Migration (ab 1. Januar 2015: Staatssekretariat für Migration) beantragt Abweisung der Beschwerde.