No; what if you stored a pointer to an automatic object?
vector v;
T tinst;
v.push_back(&tinst);
If the vector calls the destructors of the objects the pointers point to, the automatic object would be destructed twice - once when it went out of scope, and once when the vector went out of scope. Also, what if they are not supposed to be deallocated with delete? There's no way it could behave appropriately in every situation.
If your objects are all allocated dynamically, you have to manually iterate the vector and delete each pointer if it was allocated with new. Alternatively, you can create a vector of smart pointers which will deallocate the objects pointed to by the pointers:
vector> v;
v.push_back(new T);