daniken,
tu problema es una contradicción en la consulta. Le pides un Left join de productos, sí, pero al tiempo limitas el contenido de ese LEFT JOIN a aquellos cuyo productos.item_group es igual a 2, y esos son los que te sacará.
Si quieres sacarlos todos, intenta esto (no lo he probado).
Cita: SELECT p2.producto, p2.id_proveedor, p2.item_group, p2.costo_producto, cp.id_prensa, cp.id_cotiza, cp.volumen, cp.cant_item, cp.item, cp.precio_item, cp.monto_item FROM productos p2 LEFT JOIN calc_prens cp ON p2.producto = cp.calc_prensa.item INNER JOIN (SELECT id_producto FROM productos p INNER JOIN calc_prensa c ON p.producto = c.calc_prensa.item where p.item_group = 2 and c.id_cotiza =36)T1 ON p2.id_producto = T1.id_producto
Explicación: busco primero mediante INNER JOIN los productos que cumplen esos requisitos. Eso lo hago en la selección a la que pongo el alias T1. Luego hago un LEFT JOIN de la tabla productos con la tabla calc_prensa y un inner join de esta con la selección que he llamado T1. El denominador común de las tabla productos con la selección es el id_producto de los encontrados con esas condiciones. Esos los mostrará con los datos; en los demás los datos serán nulos. Poniendo a los campos que se muestran IFNULL(campo, '-'), escribirá un guión en lugar del a veces molesto NULL.