Right now it is not possible to have two different transactions with same transaction ID although this collision had actually happen to the Coinbase Transaction (first transaction) but currently BIP 30 prevents a block from a transaction ID of an already existing transaction. Before this improvement it could have been possible to have same ID and it’s effect is having your transaction unspendable.
In theory, it's still possible that two transactions have the same ID.
According to BIP30, a block can't include a transaction with the same ID as a not-fully-spent transaction.
Therefore, in the case all the outputs of a transaction have been spent, it's possible that in the future we will have a transaction with the same ID.