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