Con un try catch lo solucionas. Pero me he dado cuenta que opened no existe en js, es closed lo que existe, !vent.closed y ya esta. Mirate el ejemplo este:
Código PHP:
<script>
var ventana;
function abreVent() {
ventana=window.open();
}
function cierraVent() {
try {
if(!ventana.closed) ventana.close();
} catch(e) {
alert("No hay ventana que cerrar, no existe ventana");
}
}
</script>
<input type="button" value="abre" onclick="abreVent()"><br>
<input type="button" value="cierra" onclick="cierraVent()">
Espero que te ayude.