Faits :
A.
Par ordonnance pénale du 16 juillet 2014, le Ministère public genevois a reconnu X._ coupable d'infraction à l'art. 115 al. 1 let. b de la loi fédérale sur les étrangers du 16 décembre 2005 (LEtr; RS 142.20) et l'a condamné à 2 mois de peine privative de liberté, sous déduction de 2 jours de détention préventive. Il lui était reproché d'avoir, à Genève, entre le 13 mai 2014, date de sa dernière sortie de prison, et le 30 mai 2014, date de son interpellation, séjourné sur le territoire suisse sans titre de séjour valable.
Statuant sur opposition, le Tribunal de police de la République et canton de Genève a, par jugement du 21 janvier 2015, reconnu X._ coupable d'infraction à l'art. 115 al. 1 let. b LEtr, a prononcé une peine privative de liberté égale à zéro et révoqué la libération conditionnelle accordée le 30 avril 2014 par le Tribunal d'application des peines et des mesures (ci-après: TAPEM), solde de peine de 102 jours.
B.
Statuant sur l'appel formé par X._ sur la seule question de la révocation de la libération conditionnelle, la Cour de justice de la République et canton de Genève, Chambre pénale d'appel et de révision, l'a rejeté par arrêt du 5 juin 2015 et a confirmé la décision de première instance.
L'arrêt cantonal repose en substance sur les faits suivants.
B.a. X._, d'origine guinéenne, a fait l'objet de sept condamnations depuis le mois de février 2012, notamment pour séjour illégal (art. 115 al. 1 let. b LEtr). Outre une condamnation par le Tribunal des mineurs datant du 6 février 2012, il ressort du casier judiciaire de X._, qu'il a été condamné, le 7 août 2012, à une peine privative de liberté de 30 jours pour séjour illégal, le 23 janvier 2013, à une peine privative de liberté de 60 jours et à une amende pour séjour illégal et consommation de stupéfiants et le 21 février 2013, à une peine privative de liberté de 90 jours pour séjour illégal. Il a bénéficié d'une première libération conditionnelle, relative à ces deux dernières condamnations, le 7 juin 2013. Cette libération conditionnelle, portant sur un solde de peine de 51 jours, a été révoquée le 4 août 2013, par le Ministère public, lequel a condamné X._ à une peine privative de liberté de 180 jours pour séjour illégal. Il a ensuite été condamné le 19 septembre 2013 à une peine privative de liberté de trois mois et 200 fr. d'amende pour séjour illégal et consommation de stupéfiants et le 27 septembre 2013, à une peine privative de liberté de deux mois, pour infraction à la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121) et séjour illégal.
B.b. Par jugement du 30 avril 2014 faisant suite à la dernière incarcération de X._, intervenue le 27 septembre 2013, le TAPEM a ordonné sa libération conditionnelle avec effet lorsque son départ pouvait être organisé, mais pas avant le 3 mai 2014 et a fixé le délai d'épreuve à un an depuis la libération effective en l'avertissant que s'il devait, durant ce délai, commettre un nouveau crime ou un délit, sa réincarcération pour le solde de sa peine pouvait être ordonnée, nonobstant une nouvelle peine ou mesure. Au surplus, X._ était soumis à une règle de conduite consistant à quitter le territoire suisse et collaborer avec les autorités compétentes en vue de son renvoi.
Devant le TAPEM, X._ a soutenu vouloir quitter la Suisse à sa sortie de prison pour retourner en Guinée auprès de sa famille; il était d'accord d'être expulsé en Guinée et de collaborer à son retour, indiquant au surplus vouloir entreprendre les démarches en vue d'obtenir un laissez-passer ou une pièce de légitimation, démarches qu'il souhaitait effectuer depuis la France.
X._ a été libéré conditionnellement dès le 13 mai 2014 (solde de la peine: 102 jours), selon la décision du TAPEM du 30 avril 2014 relative à ses condamnations des 4 août, 19 septembre et 27 septembre 2013.
C.
X._ forme un recours en matière pénale auprès du Tribunal fédéral contre l'arrêt cantonal et conclut, avec suite de frais et dépens, principalement à son annulation, à la constatation de la violation de son droit d'être entendu par le tribunal de première instance et au renvoi de la cause à cette autorité. Subsidiairement, il conclut à sa réforme en ce sens que la libération conditionnelle accordée par le TAPEM le 30 avril 2014 n'est pas révoquée. Il sollicite en outre l'assistance judiciaire.
Invités à se déterminer sur le recours, la cour cantonale y a renoncé en se référant aux considérants de son arrêt, cependant que le Ministère public a conclu à son rejet.

Considérant en droit :
1.
Le recourant conteste l'approche de la cour cantonale dans la mesure où elle nie la violation de son droit d'être entendu en première instance d'une part, et où elle considère, d'autre part, que cette violation était, le cas échéant, réparable en appel. Il indique que l'ordonnance pénale valant acte d'accusation ne faisait pas état d'une révocation de sa libération conditionnelle et que le Tribunal de police n'a pas évoqué la question lors des débats et ne l'a pas interpellé sur ce point.
1.1. Le droit d'être entendu, tel qu'il est garanti par l'art. 29 al. 2 Cst., comprend notamment pour le justiciable le droit de s'exprimer sur les éléments pertinents avant qu'une décision ne soit prise touchant sa situation juridique, d'obtenir l'administration des preuves pertinentes et valablement offertes, de participer à l'administration des preuves essentielles et de se déterminer sur son résultat lorsque cela est de nature à influer sur la décision à rendre (<ref-ruling> consid. 6.3.1 p. 299).
Le principe d'accusation est une composante du droit d'être entendu consacré par l'art. 29 al. 2 Cst. Il peut aussi être déduit des art. 32 al. 2 Cst. et 6 § 3 CEDH, qui n'ont à cet égard pas de portée distincte. Il implique que le prévenu sache exactement les faits qui lui sont imputés et quelles sont les peines et mesures auxquelles il est exposé, afin qu'il puisse s'expliquer et préparer efficacement sa défense (<ref-ruling> consid. 6.2 et 6.3 p. 244 s.; <ref-ruling> consid. 2 p. 21 ss). Le droit d'être entendu doit également être reconnu et respecté lorsqu'une autorité envisage de fonder sa décision sur une norme ou un motif juridique non évoqué dans la procédure antérieure et dont aucune des parties en présence ne s'est prévalue et ne pouvait supputer la pertinence (<ref-ruling> consid. 5 p. 39; <ref-ruling> consid. 5b/bb p. 278).
Le droit d'être entendu qui découle directement de l'art. 29 al. 2 Cst. doit être accordé avant le prononcé d'une réintégration, dès lors que l'intéressé doit avoir l'occasion d'exciper des moyens dont il peut disposer (<ref-ruling> consid. 2a p. 175 s.; cf. également <ref-ruling> consid. 3 p. 333 s.; <ref-ruling> consid. 3 p. 250 s., rendus sous l'égide de l'ancien droit, alors que la réintégration était impérative en cas de condamnation à une peine privative de liberté de plus de trois mois à la suite d'une infraction commise pendant le délai d'épreuve).
1.2. Selon la jurisprudence, une violation du droit d'être entendu en instance inférieure, pour autant qu'elle ne soit pas d'une gravité particulière, peut être réparée lorsque l'intéressé a eu la faculté de se faire entendre en instance supérieure par une autorité disposant d'un plein pouvoir d'examen en fait et en droit. Une telle réparation peut aussi se justifier en présence d'un vice grave, lorsque le renvoi de la cause en instance inférieure constituerait une vaine formalité et aboutirait à un allongement inutile de la procédure (<ref-ruling> consid. 2.3.2 p. 197; <ref-ruling> consid. 2.2 p. 204 s.).
1.3. Si le juge de première instance n'a pas expressément interpellé le recourant sur la possibilité de révoquer sa seconde libération conditionnelle, il lui a toutefois donné l'occasion de faire valoir ses arguments sur cette question lors de son audition le 21 janvier 2015, laquelle portait notamment sur la décision de libération conditionnelle du 30 avril 2014 (arrêt entrepris, consid. 2.3 p. 9). En effet, à teneur du procès-verbal d'audience des débats, le recourant a été informé du fait qu'il a été condamné à 7 reprises depuis le 6 février 2012, qu'il a déjà bénéficié de 2 libérations conditionnelles, la dernière ayant été prononcée par le TAPEM le 30 avril 2014, qu'il est bien sorti de prison le 13 mai 2014 et qu'à sa sortie de prison, il est resté en Suisse (cf. PV d'audience du 21 janvier 2015, p. 2). Ainsi, le recourant, préalablement averti par le TAPEM du risque de réintégration en cas de récidive, savait exactement les faits qui lui étaient reprochés et les conséquences auxquelles il était exposé. Compte tenu de l'audience de débats de première instance, à laquelle le recourant était dûment assisté d'un avocat, et des différentes mentions au dossier (casier judiciaire, copie de la décision du TAPEM), le recourant a eu la possibilité de s'exprimer sur les éléments pertinents de la décision à rendre de sorte que l'on ne saurait reprocher à la cour cantonale d'avoir considéré que le juge de première instance n'avait pas violé son droit d'être entendu.
En tout état, dans la mesure où le recourant a fait valoir ses moyens auprès de l'autorité d'appel, laquelle disposait d'un plein pouvoir d'examen en fait et en droit (cf. <ref-law>; arrêts 6B_1085/2013 du 22 octobre 2014 consid. 4.1; 6B_1034/2013 du 31 mars 2014 consid. 2.3), une éventuelle violation de son droit d'être entendu aurait été réparée (cf. <ref-ruling> consid. 3 p. 334 sur la réparation de la violation du droit d'être entendu en instance fédérale sous l'ancien droit de procédure fédérale; arrêt 6A.71/2001 du 13 novembre 2001 consid. 3a).
Enfin, les griefs du recourant portant sur l'absence de conclusions du Ministère public en faveur d'une révocation de la libération conditionnelle sont infondés. En effet, en vertu de l'<ref-law>, le juge qui connaît de la nouvelle infraction doitexaminer la question de la révocation de la libération conditionnelle, ce indépendamment des conclusions du Ministère public (cf. arrêt 6B_1085/2013 du 22 octobre 2014 consid. 4.1 sur l'absence de conclusions du Ministère public en appel). Au surplus, il est rappelé que l'interdiction de la reformatio in pejus ne s'applique pas à la procédure de jugement ensuite de l'opposition à une ordonnance pénale (FRANZ RIKLIN, in: Basler Kommentar, Schweizerische Strafprozessordnung, 2 ème éd. 2014, n° 2 ad <ref-law>; GILLIÉRON/KILLIAS, in Commentaire romand, Code de procédure pénale suisse, 2011, n° 1 ad <ref-law>; MOREILLON/PAREIN-REYMOND, Petit commentaire du Code de procédure pénale, 2013, n° 2 ad <ref-law>), de sorte que le Tribunal de police n'était pas lié par l'absence de mention relative à la révocation de la libération conditionnelle dans l'acte d'accusation.
2.
Invoquant l'<ref-law>, le recourant conteste la révocation de la libération conditionnelle qui lui avait été accordée le 30 avril 2014.
2.1. Si, durant le délai d'épreuve, le détenu libéré conditionnellement commet un crime ou un délit, le juge qui connaît de la nouvelle infraction ordonne sa réintégration dans l'établissement (<ref-law>). Si, malgré le crime ou le délit commis pendant le délai d'épreuve, il n'y a pas lieu de craindre que le condamné ne commette de nouvelles infractions, le juge renonce à la réintégration (art. 89 al. 2, 1ère phrase CP). Il peut adresser un avertissement au condamné et prolonger le délai d'épreuve de la moitié au plus de la durée fixée à l'origine par l'autorité compétente (art. 89 al. 2, 2e phrase CP). La raison principale de l'échec de la mise à l'épreuve est la commission d'un crime ou d'un délit pendant le délai d'épreuve (cf. aussi art. 95 al. 3 à 5 CP).
La nouvelle infraction doit revêtir une certaine gravité, à savoir être passible d'une peine privative de liberté ou d'une peine pécuniaire (cf. <ref-law>). La commission d'un crime ou d'un délit n'entraîne toutefois pas obligatoirement la révocation de la libération conditionnelle. Selon l'<ref-law>, le juge renoncera à la réintégration s'il n'y a pas lieu de craindre que le condamné ne commette de nouvelles infractions. Par sa nature même, le pronostic à émettre ne saurait être tout à fait sûr; il doit suffire de pouvoir raisonnablement admettre que le détenu ne commettra pas de nouvelles infractions (arrêts 6B_1085/2013 du 22 octobre 2014 consid. 4.2.1; 6B_1034/2013 du 31 mars 2014 consid. 2.1 et les références citées; cf. <ref-ruling> consid. 1b p. 107).
2.2. La cour cantonale a retenu que le recourant avait récidivé quelques jours après sa dernière sortie de prison, alors qu'il avait donné au TAPEM son accord pour un renvoi en Guinée, disant vouloir y retourner auprès de sa famille et être d'accord avec des démarches en vue d'obtenir un laissez-passer ou une pièce de légitimation. Le recourant n'avait entrepris aucune démarche pour quitter la Suisse, notamment par le biais du CICR, malgré ses engagements pris devant le TAPEM. La cour cantonale a également retenu que le recourant s'était organisé pour être inatteignable à l'adresse qu'il avait lui-même communiquée pour être convoqué devant les autorités judiciaires dans la procédure pendante. Elle a exclu la qualification de cas " bagatelle " puisque la récidive démontrait le mépris que présentait le recourant face à la législation suisse, quand bien même le séjour illégal reproché n'avait duré que 14 jours.
En définitive, elle a confirmé la révocation de la libération conditionnelle sur la base de l'<ref-law>, excluant l'application de l'<ref-law> (par renvoi de l'<ref-law>) relatif à la réintégration ensuite d'une violation d'une règle de conduite.
2.3. C'est en vain que le recourant tente de tirer grief du principe de proportionnalité découlant de l'art. 95 al. 3 à 5 CP, applicable en cas de violation des règles de conduite, dans la mesure où la révocation de la libération conditionnelle se fonde en l'espèce sur l'<ref-law>.
2.4. Le recourant estime que le séjour illégal reproché en l'espèce ne constitue pas une nouvelle infraction au sens de l'<ref-law>, dans la mesure où il s'agit d'un délit continu. Il fonde son argumentation sur les principes dégagés de l'arrêt publié aux <ref-ruling>.
Le recourant est irrecevable à contester sa culpabilité sous l'angle de l'art. 115 al. 1 let. b LEtr, faute de l'avoir fait en appel (cf. <ref-law>). Ainsi, la condamnation de ce chef d'infraction est entrée en force et ne peut être remise en cause devant le Tribunal fédéral. Il en va de même des développements du recourant portant sur les verdicts précédents de culpabilité du chef de séjour illégal, les décisions en question étant définitives et exécutoires. Au demeurant, s'il est acquis que le séjour illégal constitue un délit continu, la condamnation opère une césure permettant une nouvelle condamnation à raison des faits non couverts par le premier jugement (<ref-ruling> consid. 3.2 p. 9).
2.5. Le recourant estime que la nouvelle infraction n'est pas d'une gravité suffisante pour justifier sa réintégration. Or il est établi que le recourant a commis un délit (<ref-law>) passible d'une peine privative de liberté d'un an au plus ou d'une peine pécuniaire (art. 115 al. 1 let. b LEtr). Ainsi, le recourant ne saurait invoquer le fait qu'il a été condamné à une peine privative de liberté égale à zéro dans la présente procédure, dans la mesure où la quotité de la peine qui frappe le crime ou le délit dans le cas concret est sans pertinence (arrêt 6B_663/2009 du 19 octobre 2009 consid. 1.2). En tout état, la quotité de la peine ne permet pas de qualifier l'infraction commise en l'espèce de cas " bagatelle ".
2.6. Selon le recourant, compte tenu des peines déjà purgées au titre de séjour illégal, la révocation de la libération conditionnelle conduirait, en l'espèce, à l'exécution d'une peine globale de plus d'une année, contraire aux principes fixés par l'arrêt publié aux <ref-ruling>.
2.6.1. Lorsque la situation irrégulière qui doit faire l'objet d'un deuxième jugement procède de la même intention que celle qui a présidé aux faits déjà jugés, la somme des peines prononcées à raison du délit continu doit être adaptée à la faute considérée dans son ensemble et ne pas excéder la peine maximale prévue par la loi (<ref-ruling> consid. 4.2 p. 11).
2.6.2. Constatant que le recourant avait déjà été condamné à plus d'un an de peine privative de liberté du chef de séjour illégal, le premier juge a prononcé une peine privative de liberté égale à zéro pour le séjour illégal dont il a eu à connaître (cf. jugement de première instance du 21 janvier 2015, consid. 3.2 p. 6). Il ressort de l'arrêt entrepris que le recourant a été condamné à sept reprises notamment du chef de séjour illégal, à des peines privatives de liberté (cf. supra consid. B.a).
Si le recourant est forclos à contester les sanctions prononcées dans la mesure où elles sont définitives et exécutoires, il peut toutefois s'opposer à l'exécution d'une peine illicite au stade de la révocation de la libération conditionnelle.
Or, l'arrêt entrepris ne contient pas d'indication claire relative à la durée de détention subie par le recourant au titre de séjour illégal, de sorte que le Tribunal fédéral n'est pas en mesure de se déterminer sur la compatibilité de la révocation de la libération conditionnelle avec les principes liés au maximum légal de la peine prévue à l'art. 115 al. 1 LEtr (cf. <ref-ruling> consid. 4.2 p. 11). Aussi, la cause doit être renvoyée à la cour cantonale afin qu'elle établisse la durée totale des peines exécutées par le recourant du chef d'infraction à l'art. 115 al. 1 LEtr et qu'elle examine dans quelle mesure une révocation de libération conditionnelle portant sur un solde de peine de 102 jours est compatible avec la jurisprudence précitée.
3.
Le recours doit être admis, l'arrêt attaqué annulé et la cause renvoyée à la cour cantonale pour nouvelle décision dans le sens des considérants. Le recourant qui obtient gain de cause ne supportera pas de frais judiciaires (<ref-law>) et peut prétendre à une indemnité de dépens à la charge du canton de Genève (art. 68 al. 1 et 2 LTF). La demande d'assistance judiciaire est ainsi sans objet.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause est renvoyée à la cour cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Genève versera au conseil du recourant la somme de 2'000 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre pénale d'appel et de révision.
Lausanne, le 21 mars 2016
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Klinke