Yes, it is possible.
Each end of the tunnel must have interfaces in respective end's private networks. That is, for example
10.8.0.1 must have an address in
192.168.20.0/24 network and
10.8.0.2 must have an address in
172.16.1.0/24 network (I guessed the netmasks for the networks just for example, your setup might be different).
Then, you need to enable proper routing on the devices.
For clients in
192.168.20.0/24 network, they need to have a route in their routing table that tells them to route packets to
x is the octet corresponding to the other interface of the
Then, the server at
10.8.0.1 has to have a routing table entry which tells that packets to
172.16.1.0/24 network have to be sent via
10.8.0.2, that is, the other end of the tunnel.
Then you need to have corresponding rules for the other end of the tunnel, swapping network addresses.
Easiest way to implement this is to run the OpenVPN server / client on the router for that network. Then one doesn't need to add the routing rules for each client, since the routing is handled by the default gateway. In this case, one only need the routing rule at the OpenVPN server / client.
If OpenVPN server / client is a different machine than the default router, then one needs to distribute the network routes to the clients. One way to do this is via DHCP. One method is described in How can I configure my DHCP server to distribute IP routes?.