Sachverhalt: A. A.A._, mazedonische Staatsangehörige, geb. 1984, heiratete am 18. April 2003 in ihrer Heimat den in der Schweiz niedergelassenen Mazedonier C.A._ (geb. 1984). In der Folge erhielt sie eine Aufenthaltsbewilligung für den Verbleib beim Ehemann. Am 5. Januar 2005 wurde der gemeinsame Sohn B.A._ geboren, welcher in die Niederlassungsbewilligung des Vaters einbezogen wurde. Seit 2008 lebten die Ehegatten getrennt; mit Urteil des Bezirksgerichts Dielsdorf vom 14. Juli 2011 wurde die Ehe geschieden und der Sohn B.A._ unter die elterliche Sorge der Mutter gestellt. Das Migrationsamt des Kantons Zürich wies am 25. Juli 2011 ein Gesuch von A.A._ um Verlängerung der Aufenthaltsbewilligung ab und setzte ihr Frist bis zum 31. Oktober 2011 zum Verlassen der Schweiz. Die Sicherheitsdirektion (Entscheid vom 5. Juni 2012) und das Verwaltungsgericht des Kantons Zürich (Urteil vom 31. Oktober 2012) wiesen die dagegen erhobenen Rechtsmittel ab. Das Verwaltungsgericht wies zugleich das Gesuch um unentgeltliche Rechtspflege und Verbeiständung wegen Aussichtslosigkeit der Beschwerde ab. Das Bundesgericht hiess eine dagegen erhobene Beschwerde mit Urteil vom 20. Juni 2013 (2C_1228/2012) teilweise gut und hob den Entscheid des Verwaltungsgerichts insofern auf, als darin die unentgeltliche Prozessführung und Verbeiständung abgewiesen wurde. Im Übrigen wies es die Beschwerde ab, soweit es darauf eintrat. Am 23. Juli 2013 setzte das Migrationsamt eine neue Ausreisefrist bis 6. Oktober 2013 an. B. Am 25. September 2013 stellte A.A._ beim Migrationsamt des Kantons Zürich das Gesuch, die Verfügung vom 25. Juli 2011 sei wiedererwägungsweise aufzuheben und es sei ihr die Aufenthaltsbewilligung zu verlängern. Mit Schreiben vom 17. Oktober 2013 gab das Migrationsamt diesem Gesuch keine Folge. Einen dagegen erhobenen Rekurs wies die Rekursabteilung der Sicherheitsdirektion am 7. März 2014 ab (unter Ansetzung einer neuen Ausreisefrist bis zum 31. Mai 2014). C. A.A._ und B.A._ erhoben dagegen am 9. April 2014 Beschwerde an das Verwaltungsgericht des Kantons Zürich und beantragten sinngemäss, der angefochtene Entscheid sei aufzuheben und die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen; eventuell sei die Aufenthaltsbewilligung von A.A._ zu verlängern. Zugleich beantragten sie die unentgeltliche Rechtspflege und Verbeiständung. D. Mit Urteil vom 4. Juni 2014 wies das Verwaltungsgericht die Beschwerde ab, soweit es darauf eintrat (Ziff. 1), setzte den Beschwerdeführern eine neue Frist zum Verlassen der Schweiz bis zum 31. Juli 2014 (Ziff. 2). Das Gesuch um unentgeltliche Rechtspflege und Verbeiständung wies es ab (Ziff. 3). E. A.A._ und B.A._ erheben mit gemeinsamer Eingabe vom 8. Juli 2014 beim Bundesgericht Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Antrag, das angefochtene Urteil sei aufzuheben und die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Eventualiter sei Ziff. 2 des Urteilsdispositivs insoweit aufzuheben, als es B.A._ betreffe, und sei Ziff. 3 des Urteilsdispositivs aufzuheben und den Beschwerdeführern die unentgeltliche Rechtspflege für das Verfahren vor Verwaltungsgericht zu erteilen. Zudem beantragen sie unentgeltliche Rechtspflege auch für das Verfahren vor Bundesgericht. Das Verwaltungsgericht des Kantons Zürich beantragt, die Beschwerde insoweit gutzuheissen, als sie sich gegen die Ansetzung einer Ausreisefrist für B.A._ richtet; im Übrigen sei die Beschwerde abzuweisen, soweit darauf einzutreten sei. Das Bundesamt für Migration (ab 1.1.2015: Staatssekretariat für Migration) beantragt Abweisung der Beschwerde. Das Migrationsamt und die Sicherheitsdirektion des Kantons Zürich haben sich nicht vernehmen lassen. Mit Verfügung des Präsidenten der II. öffentlich-rechtlichen Abteilung des Bundesgerichts vom 11. Juli 2014 wurde der Beschwerde antragsgemäss die aufschiebende Wirkung zuerkannt. Mit Verfügung der II. öffentlich-rechtlichen Abteilung vom 9. Oktober 2014 wurde das Gesuch um unentgeltliche Rechtspflege abgewiesen, worauf A.A._ den Kostenvorschuss bezahlte.