What is a limitation of using an array concerning capacity?
Array is defined to have continous memory, so there is a need to extend it by finding continous block that fit it in.
Also the array size is given in advance.
The limit is the largest available continous block and possibility to index it.

For example C defines $malloc$ and $realloc$, which seeks such block (it may start in the same place as original array).
$realloc$ when finds larger region in different place rewrites the content of the array.

If there is no constraint about continous regions - there are lists of arrays used - smaller blocks connected in linked list, easier to grow, but a bit slower to operate on.

Some languages provides growing arrays, but internally it could be stack, list or anything else, so definition of "what is array" is crucial.