Penso che quanto segue lo farà per te, anche se non l'ho testato. Il trucco consiste nell'ottenere i conteggi delle proprietà in una tabella, quindi unire a sinistra quella tabella alla tabella delle città, convertendo i valori NULL in 0 utilizzando IFNULL funzione.
SELECT city_name, IFNULL(property_count, 0)
FROM cities
LEFT JOIN
(SELECT id_city, count(*) as property_count
FROM properties
GROUP BY id_city) city_properties
USING (id_city);