I think there are a number of ways to be a good project leader. I currently have 2, both of them excellent. One of them is a software engineer who likes to argue with me until we have the best solution to something. I enjoy the arguments and our software is better for it (he also likes the chance to think for a change instead of writing TPS reports).
The other is, for all intents and purposes, his boss. When I have discussions with the "boss" he has NO understanding of software engineering - he does, however, realise I do. If I tell him something will take yae long, or is not doable, he doesn't argue - he tells the customer and takes the hit instead of trying to pressure me to do the impossible. This approach allows us to build fantastic, highly stable software that is a world leader in its field. Our software would not be as good as it is if we had to constantly "hack" to please customers. Obviously sometimes we have to hack, and when we do we all work 18 hour days for a week until what needs to be done is done. I for one wouldn't do that if the normal management style was "get it done when I tell you".
I guess what I'm trying to say is - it probably doesn't matter if you have a background in engineering or not, as long as you know what you don't know and allow the engineers to do their job without interference.