No.
As mentioned by user996142, there are two things called virtual address space. However, the definition you show in your question more specifically talks about the swap space. Either way, I think both statements are rather convoluted.
At the CPU level, you need to have an MMU to have what is called virtual memory addresses. As mentioned by the other user, the computer has physical memory which are given physical addresses. In most cases, physical memory starts at 0 and grows up to the total amount of memory you have. Some architectures like to have memory at the end as well (at addresses -1, -2, -3...) All CPUs do not have MMU chips, especially in embedded systems. Some such systems still use 8 bit CPUs which really can't be using an MMU (these are limited to 64Kb addressable memory anyway).
At the system level, the virtual memory is the swap as you mentioned. Again, this is not necessarily available. In most distribution of Linux, a swap is automatically created at installation time. However, there are systems that do not do it automatically (for example, DigitalOcean offers machines with Ubuntu which do not offer swap space by default...) In most cases, having some swap is a good thing to avoid having processes killed by the OS to restore RAM (and as a result, you have no clue what just happened).
The kernel is responsible for managing all of that for you.
The MMU part is a very low level. For most implementations, it is required to run processes under Linux. Without that feature, you either need processes that can run at any location (that was a fun thing on old Macs running on 68K processors, you'd create blocks of code that were around 64Kb that could be placed anywhere in memory), or have a way to relocate the process...
Note: For a while now, the Linux kernel was updated to not run processes at the same IP address on each restart. It's really annoying if you are trying to debug your own process and would like to rely on such fixed IP addresses. But this is much more secure. As a result, though, just the MMU is not sufficient to run processes. They have to be relocated on each restart depending on the IP chosen by the kernel at that point.
The swap is a much high layer which allows you to run processes that make use of way more RAM than you have on your computer by putting some of the data on disk. There is a huge penalty in term of speed, of course. In most cases, it's better to run one process, and once it is done, run the next process, etc. to avoid swapping to disk.
As an important aspect, the code of a process (the assembly code, for interpreted languages such as python and php, that would be the interpreter binary) is not changing and available on disk in read-only mode. What that means is: you can swap out part of the code of a process and reload it later as required without the huge penalty of having to swap data found in RAM. Data has to be written to disk and that's slow. Code only needs to be read. So if part of a process code is never executed, that page of code can be swapped out very quickly and reloaded in case it happens to be executed again later. That swap doesn't need the swap disk or swap file. So even if your swap space is 0Kb, the kernel can still swap out the code of running processes to save some RAM.