You wrote
... there is no support in natbib for online citations.
Sadly (or, rather, fortunately!), this claim is incorrect. Moreover, the apa-good.bst bibliography style file recognizes a field named url among the valid field names. Here's the file's bibtex code for the function write.url:
FUNCTION {write.url}
{ url empty$
{ skip$ }
{ "\newline\urlprefix\url{" url * "}" * write$ newline$ }
if$
}
You'll need to have the url package loaded (to make it understand the instructions \url and \urlprefix).
If you don't like the \newline instruction, which tells LaTeX to insert a line break before the start of the URL, you can remove it from the code; just save the file to something like "myapa-good.bst", and then invoke this new file. However, the linebreak may be part of APA style and hence shouldn't be eliminated willy-nilly.
To sum up, using any of natbib's citation commands, you should get bibliography entries with associated URLs (assuming, of course, that the entries' URL fields aren't blank!)