Upgrading contracts deployed from factory

Yes, you can just use one ProxyAdmin contract to control all proxy contracts.

I think you can write as followings to deploy a proxy contract and initialize it.

await upgrades.deployProxy(Implementation_Contract, [Initialize_Parameters], {initializer: 'initialize'});

And maybe you can have a look at this tutorial: OpenZeppelin Upgrades: Step by Step Tutorial for Truffle - Smart Contracts / Guides and Tutorials - OpenZeppelin Community