Be careful with this senario... as the word "kickback" comes strongly to mind.
The real question here is about perception. It does not matter whether it is ethical/unethical, legal/illegal, moral/immoral, it is how your actions are percived by the public that is important. The ethics courses that I have taken, required by Govenment and Company, stress that regardless of whether it is ok... how is it percived by the public. If the general public, i.e. not the engineering community, believes there to be some back room going on's, then it should not be done. Even with full disclosure to the client. Just ask a few of your non-technical friends for their opinion on the proposal.
The best option is this: get the referal fee from the client, not the subcontractor. Offer to line the client up with a sub for a small fee, or several subs from which the client can pick from. This removes any perception of colusion, and/or impropriety on the Engineers part.
It is better to err on the safe side and loose a job or two, then to lose your license and hence livelihood.
Best regards.