How would a German speaker say 'house for sale'?
The 'zu' preposition is very confusing and I do not know if the correct version would be 'Haus zu verkaufen ' or 'Haus verkaufen'?
Do the 2 versions have different meaning?
Only "Haus zu verkaufen" is grammatically correct. In announcements offering goods, German always uses "zu" + infinitive:
Haus zu verkaufen. / House for sale.
Ferienappartement zu vermieten. / Holiday apartment for rent/to let.
Bücher zu verschenken. / Free books.
As you can see from one example, even (British) English does this from time to time. However, most English constructions use nouns (sale, rent), whereas German exclusively uses verbs in the infinitive - hence the "zu".