Sachverhalt: Sachverhalt: A. Das Bezirksgericht Meilen verurteilte X._ am 3. Juni 1999 wegen Diebstahls, mehrfacher Sachbeschädigung, mehrfachen Hausfriedensbruchs, Drohung sowie Verletzung des Strassenverkehrsgesetzes zu vier Monaten Gefängnis unter Anrechnung von vier Tagen Untersuchungshaft. Weil beim Angeklagten im Rahmen der psychiatrischen Untersuchung eine Schizophrenie diagnostiziert und vom Gutachter eine stationäre Behandlung empfohlen worden war, schob das Gericht die Freiheitsstrafe im Sinne von Art. 43 Ziff. 2 StGB auf und wies den Angeklagten gemäss Art. 43 Ziff. 1 Abs. 1 StGB in eine psychiatrische Heilanstalt ein. Mit Verfügung vom 17. September 2003 lehnte das Amt für Justizvollzug des Kantons Zürich im Rahmen der jährlichen Prüfung nach Art. 45 Ziff. 1 StGB die probeweise Entlassung von X._ aus der stationären Massnahme ab. Gegen diesen Entscheid ergriff X._ kein Rechtsmittel. Mit Eingabe vom 11. Dezember 2003 stellte er beim Bezirksgericht Meilen ein Gesuch um unverzügliche Entlassung aus dem Massnahmenvollzug. Das Bezirksgericht trat mit Zirkulationsbeschluss vom 2. März 2004 auf das Entlassungsgesuch nicht ein. Den von X._ dagegen erhobenen Rekurs wies das Obergericht des Kantons Zürich am 5. Mai 2004 ab. Mit Eingabe vom 11. Dezember 2003 stellte er beim Bezirksgericht Meilen ein Gesuch um unverzügliche Entlassung aus dem Massnahmenvollzug. Das Bezirksgericht trat mit Zirkulationsbeschluss vom 2. März 2004 auf das Entlassungsgesuch nicht ein. Den von X._ dagegen erhobenen Rekurs wies das Obergericht des Kantons Zürich am 5. Mai 2004 ab. B. X._ reichte gegen diesen Entscheid am 8. Juli 2004 beim Bundesgericht staatsrechtliche Beschwerde ein. Er beantragt, der Rekursentscheid des Zürcher Obergerichts sei aufzuheben und die Sache sei zur materiellen Beurteilung durch das Bezirksgericht Meilen an die Vorinstanz zurückzuweisen. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. B. X._ reichte gegen diesen Entscheid am 8. Juli 2004 beim Bundesgericht staatsrechtliche Beschwerde ein. Er beantragt, der Rekursentscheid des Zürcher Obergerichts sei aufzuheben und die Sache sei zur materiellen Beurteilung durch das Bezirksgericht Meilen an die Vorinstanz zurückzuweisen. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren. C. Die Staatsanwaltschaft und das Obergericht des Kantons Zürich verzichteten auf eine Vernehmlassung.