You're not the one launching it in the background (the shell is), so you can't find out. If you have launched it in the background yourself, wait and waitpid would set $? as system does.
Comment on Re: How to capture system return code when command launched in the background?