I think it depends on what you mean by 'garage'. If you mean a place to park your car, then using 'in front of' seems natural. However, if you mean a place where you buy petrol or where you can fix your car, then 'opposite' is the better one.
Hi, Hussein and Ahmed,
Normally, a garage and a house are either attached to each other or separated from each other by something, such as a street or driveway.
If the house and garage are attached to each other, the garage is part of the house, and we can say, e.g., "There is a garage at the front of my house."
If the house and garage are separated from each other by a driveway or a street, then it is normal to use "across from" or "opposite," as Rachel and Swan observe.
Hussein, you're right that we can invent unusual contexts in which the expression that Swan advises against can be used -- for example:
- There is a garage in front of my house! It's sitting on my front lawn. I have no idea how it got there, but maybe my wife does. One of her friends from college is in the mobile-home business. This is probably his doing.
The garage is on the speaker's property. It is on his front lawn. There is nothing between his house and it, and there is thus no need to use "across from."
Swan had in mind normal contexts, not all possible contexts. There is nothing ungrammatical about the sentence "There is a garage in front of my house."