Faits: A. Par jugement du 8 février 2008, le Tribunal de police de l'arrondissement de Lausanne a constaté que X._ s'était rendu coupable d'infraction à la Loi fédérale sur le séjour et l'établissement des étrangers et l'a condamné à la peine de quatre mois de privation de liberté, avec suite de frais. B. Saisie d'un recours en réforme et en nullité, la Cour de cassation pénale du Tribunal cantonal vaudois l'a rejeté par arrêt du 11 avril 2008. Cet arrêt repose en substance sur les faits suivants. B.a X._ est né le 1er janvier 1984 en Côte d'Ivoire, son pays d'origine. En juin 2003, il a déposé une demande d'asile en Suisse, laquelle a été rejetée par décision du 24 octobre 2003, définitive et exécutoire dès le 27 novembre 2003. Le renvoi de Suisse de X._ a été prononcé. Il n'a cependant jamais quitté la Suisse depuis lors, n'ayant aucun désir de retourner en Côte d'Ivoire, où, selon lui, la situation politique est instable et conduit ses ressortissants à vivre dans la crainte perpétuelle d'une arrestation arbitraire. L'intéressé n'est au bénéfice d'aucun titre de séjour valable et n'a aucune ressource. Il vit grâce à l'aide d'urgence accordée de quinzaine en quinzaine par le Service de la population. Il a expliqué vivre momentanément chez un ami à Yverdon-les-Bains. Son casier judiciaire comprend quatre inscriptions, pour des condamnations entre le mois d'avril 2004 et janvier 2006, principalement pour infractions à la LStup et à la LSEE. Entre le 26 janvier 2006, date de sa dernière condamnation, et le 28 septembre 2007, X._ a continué de séjourner en Suisse sans aucune autorisation. B.b En bref, la cour cantonale, examinant le grief de nullité soulevé par le recourant selon lequel il n'avait pas été valablement inculpé, a jugé que le recours en nullité fondé sur l'art. 411 let. g CPP/VD était irrecevable en tant qu'il avait trait à des irrégularités de procédure antérieures à l'ordonnance de clôture d'enquête. Le défaut d'inculpation ne constituait pas une violation d'une règle essentielle de la procédure au stade du jugement, mais uniquement à l'étape antérieure. Il aurait ainsi incombé au recourant de faire valoir ce moyen en exerçant un éventuel recours contre l'ordonnance de renvoi. B.c Examinant ensuite les conclusions en réforme du recourant, la cour cantonale a estimé que l'aide d'urgence accordée pour des raisons humanitaires n'influençait en rien le statut en Suisse du recourant, si bien que son séjour demeurait illicite. L'aide humanitaire dont il bénéficiait ne s'opposait donc pas à sa condamnation. Quant à la peine, la situation financière du recourant ne permettait pas le prononcé d'une peine pécuniaire. Son statut en Suisse ne permettait pas d'atteindre le but de resocialisation assigné au travail d'intérêt général, qui aurait en outre achoppé sur des problèmes pratiques au stade de l'exécution en raison de sa situation précaire. Le pronostic relatif au sursis était défavorable, en raison de cinq condamnations précédentes dont trois pour infraction à la LSEE et de l'intention manifestée de rester en Suisse et de prolonger son comportement illicite. Un sursis partiel n'entrait pas non plus en ligne de compte eu égard à la durée de la peine. Le prononcé d'une courte peine privative de liberté était donc justifié. C. X._ forme un recours en matière pénale contre cet arrêt. Il conclut principalement à son annulation et au renvoi de la cause à l'autorité cantonale afin qu'elle rende une nouvelle décision, et, à titre subsidiaire, à sa réforme en ce sens qu'une peine pécuniaire de 120 jours-amende, à un franc l'un, lui soit infligée. Il requiert en outre d'être mis au bénéfice de l'assistance judiciaire et que l'effet suspensif soit restitué. Le Ministère public et la Cour cantonale ont renoncé à déposer des observations.