There is no way to add a socket to an item using vanilla Diablo 3.
As of Reaper of Souls, the Mystic can enchant an item to add a socket, assuming the following are true:
- The item can potentially have a socket (i.e. you can't enchant gloves to add a socket)
- The item has no sockets currently
If an item does have sockets, and you choose to re-roll the Sockets statistic, you could potentially add more sockets if the item can have more (i.e. a chest has 2 sockets, you could re-roll the sockets stat to potentially get a 3rd socket).
In addition, as of patch 2.1.0, you can add a socket to a weapon if you find a Ramaladni's Gift. This will only add a socket to a weapon if the weapon doesn't already have a socket.