Yes, Nano is like any other Linux system and supports modules. However, you’ve misinterpreted the meaning of this:
Every program, even kernels and functions within kernels, can be passed arguments (at least in C, which is what we are talking about). Some programs must be passed arguments, or particular arguments, and this is just the programmer’s choice. That error indicates module load works (as a mechanism), but that something needed in addition to the module is missing.
An example which most people would not expect is for a module acting as a driver to a non-plug-n-play hardware. A driver must know the physical address of the hardware it is talking to, and for non-plug-n-play, this tends to mean the device tree passing that information. Whenever a module (or any driver) loads it is given a chance to read the content of the device tree. Parameters not “compatible” with your driver are ignored (there is a “compatible” section in most device tree nodes naming which drivers will be interested in the data). That data includes the physical address. If you require a physical address to find the hardware, then the driver will fail due to lack of being passed a physical address as an argument.
Often the same thing goes on with the kernel command line…everything has the ability to see the kernel command line during kernel startup (and a module loading is a part of the kernel starting up). Those arguments a driver does not care about are ignored, and only arguments the particular module or driver cares about will actually be used.
Also consider that it is possible the module might be looking for the output result of another module, e.g., an encryption module might provide a key, and if that function is not enabled in your kernel, then there would be a failure to pass the key to the module you are loading. It is a tree of dependencies for this case, and not a physical address being passed. It is an example of how missing another module can invalidate a seemingly unrelated module.
Perhaps you need a device tree change? Depends on what the missing argument is. To know this you’d have to research the driver requirements. On the other hand, if you just built the module against the other system, the Kconfig system can be used to make sure you have all of the kernel feature dependencies. This wouldn’t tell you about a device tree requirement since that is a runtime requirement, but it would certainly narrow down the failure.