When an application opens a port (in this case 80/443), it owns that port exclusively. Things like the url path aren't received until after the client establishes a connection, then it sends it as part of the HTTP request.
You could do something like configure a reverse proxy for certain paths in lighttpd to go to a different port which nginx owns, but this will still push all the data through lighttpd and just use more resources than having lighttpd serve it directly.
You could also just run nginx on a different port and change all your static content urls to have that port, but I'm not sure how that might affect things like javascript domain restrictions etc. (This could also be done by configuring lighttpd to serve 301/302's for these url's, but the same concerns persist)
Personally I've found lighttpd is just as fast as nginx at serving static content, though what you're doing is cool, is it necessary?