Bastante seguro de que tienes que usar un MongoId
objeto, por ejemplo
$item = $collection->findOne(array(
'_id' => new MongoId('4e49fd8269fd873c0a000000')));
Las notas en la página de consultas son un poco obtusas pero menciona...
A menos que el usuario haya especificado lo contrario, el campo _id es un MongoId. El error más común es intentar usar una cadena para hacer coincidir un MongoId. Tenga en cuenta que estos son dos tipos de datos diferentes y no coincidirán entre sí de la misma manera que la cadena "array()" no es lo mismo que una matriz vacía