You don't say what type of connections are involved.
JDBC? URL? Socket? ...
The advantage of cleaning up dead connections in your pool when a new connection is requested is simplicity. You rightly identify that this won't be multi-threaded, so it's much easier to get right. It is also less resource-intensive.
However, you build in a delay into the aquisition of a connection, because dead connections have to be cleaned-up before a connection can be reused or allocated for the requester.
By using another thread, the work of cleaning up dead connections is done in the background, perhaps as a low-priority task that only runs when nothing else wants the CPU (care of deadlocks!). It's a bit more expensive, overall, especially if you use polling, but may be worth the cost.
Which method you choose is application-specific, I think. It depends whether you want low total cost with delayed connection allocation or higher total cost but speedier connection allocation.
Here's another thought, which may or may not suit your application ...
Perhaps your application either does or could arrange to release all references to "dead" connections. That would mean that the reference in your Vector of connections would be the only one stopping the connection gettting gc'd.
If this is the case, you could put WeakReferences to connections in your Vector, instead of direct references. You could register all these WeakReferences with a ReferenceQueue. Whenever a connection was about to get gc'd, because only a WeakReference to it was left, your ReferenceQueue would get told.
A background thread could then have a loop doing ReferenceQueue.remove(). Each time it got a WeakReference from the queue, it could remove the associated entry from the Vector.
Using ReferenceQueue.remove() has similar advantages to using Object.wait(). That is, the cost is minimal while waiting, because it's a notification scheme, not a polling scheme. However, with ReferenceQueue.remove(), you don't need to do a Object.notify() yourself; the garbage collector does it for you.
Just a thought.
P.